curl --request PATCH \
--url https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Engineering",
"active": true,
"parent_id": "b4824606-fc95-53ed-b80g-6f8c2ge908c8"
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}"
payload = {
"name": "Engineering",
"active": True,
"parent_id": "b4824606-fc95-53ed-b80g-6f8c2ge908c8"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Engineering',
active: true,
parent_id: 'b4824606-fc95-53ed-b80g-6f8c2ge908c8'
})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Engineering',
'active' => true,
'parent_id' => 'b4824606-fc95-53ed-b80g-6f8c2ge908c8'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}"
payload := strings.NewReader("{\n \"name\": \"Engineering\",\n \"active\": true,\n \"parent_id\": \"b4824606-fc95-53ed-b80g-6f8c2ge908c8\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Engineering\",\n \"active\": true,\n \"parent_id\": \"b4824606-fc95-53ed-b80g-6f8c2ge908c8\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Engineering\",\n \"active\": true,\n \"parent_id\": \"b4824606-fc95-53ed-b80g-6f8c2ge908c8\"\n}"
response = http.request(request)
puts response.read_body[
{
"title": "400 Bad Request",
"description": "The request body was not structured correctly."
}
][
{
"title": "401 Unauthorized",
"description": "OAuth access token is missing, invalid or expired."
}
][
{
"title": "403 Forbidden",
"description": "You don't have access to this resource."
}
][
{
"title": "404 Not Found",
"description": "Unknown external_id describing this resource. Please create this resource first."
}
][
{
"title": "405 Method Not Allowed",
"description": "This method is not allowed for the requested URL."
}
][
{
"title": "413 Payload Too Large",
"description": "Request payload is too large."
}
][
{
"title": "415 Unsupported Media Type",
"description": "Content-type must be one of: application/json"
}
][
{
"title": "422 Unprocessable entity",
"description": "The request body contains some fields with invalid data (e.g. invalid date, invalid enumeration value ..)"
}
]max connections reached: <limit>[
{
"title": "503 Service Unavailable",
"description": "The Skill Engine API is currently not available. Please contact TechWolf or try again later."
}
]Update Organisational Unit
Submit the most up-to-date Organisational Unit information. Any field that is present will overwrite existing values within the system, while absent fields will be left as-is.
curl --request PATCH \
--url https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Engineering",
"active": true,
"parent_id": "b4824606-fc95-53ed-b80g-6f8c2ge908c8"
}
'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}"
payload = {
"name": "Engineering",
"active": True,
"parent_id": "b4824606-fc95-53ed-b80g-6f8c2ge908c8"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Engineering',
active: true,
parent_id: 'b4824606-fc95-53ed-b80g-6f8c2ge908c8'
})
};
fetch('https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Engineering',
'active' => true,
'parent_id' => 'b4824606-fc95-53ed-b80g-6f8c2ge908c8'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}"
payload := strings.NewReader("{\n \"name\": \"Engineering\",\n \"active\": true,\n \"parent_id\": \"b4824606-fc95-53ed-b80g-6f8c2ge908c8\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Engineering\",\n \"active\": true,\n \"parent_id\": \"b4824606-fc95-53ed-b80g-6f8c2ge908c8\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/organisational_units/{external_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Engineering\",\n \"active\": true,\n \"parent_id\": \"b4824606-fc95-53ed-b80g-6f8c2ge908c8\"\n}"
response = http.request(request)
puts response.read_body[
{
"title": "400 Bad Request",
"description": "The request body was not structured correctly."
}
][
{
"title": "401 Unauthorized",
"description": "OAuth access token is missing, invalid or expired."
}
][
{
"title": "403 Forbidden",
"description": "You don't have access to this resource."
}
][
{
"title": "404 Not Found",
"description": "Unknown external_id describing this resource. Please create this resource first."
}
][
{
"title": "405 Method Not Allowed",
"description": "This method is not allowed for the requested URL."
}
][
{
"title": "413 Payload Too Large",
"description": "Request payload is too large."
}
][
{
"title": "415 Unsupported Media Type",
"description": "Content-type must be one of: application/json"
}
][
{
"title": "422 Unprocessable entity",
"description": "The request body contains some fields with invalid data (e.g. invalid date, invalid enumeration value ..)"
}
]max connections reached: <limit>[
{
"title": "503 Service Unavailable",
"description": "The Skill Engine API is currently not available. Please contact TechWolf or try again later."
}
]Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Scopes
allows modifying resources
Path Parameters
The unique ID in your system, consisting of alphanumeric characters, hyphens and underscores.
1 - 100[a-zA-Z0-9_-]+"a3903505-eb84-42dc-a79f-5e7b1fe897b7"
Body
Default structure for Organisational Unit data.
Name of the Organisational Unit.
1 - 255"Engineering"
Indicates whether the Organisational Unit is active or not.
Unique identifier for the parent Organisational Unit, establishing the organisational structure. If updated with parent_id=null, the Organisational Unit becomes a root Organisational Unit.
1 - 100[a-zA-Z0-9_-]+"b4824606-fc95-53ed-b80g-6f8c2ge908c8"
Response
No Content
Was this page helpful?